The present invention relates generally to computer software and more particularly to diagnosing computer problems via pattern matching of problem representation data.
As computers and computer applications have become more complicated, the opportunities for computer users to encounter difficulties with their computers have increased. When a user is confronted with a problem, the user may seek help resolving that problem. Conventionally, the user may turn to online help, friends and family, or phone based help. The person or entity trying to help the user (hereinafter the xe2x80x9cdiagnoserxe2x80x9d) may desire to interact with both the user and the computer with the problem. Some problems may be reported without the user initiating such a report. For example, a phone may be purchased that initially has no phone number. Upon activation, the phone may automatically generate a request for help.
Diagnosing problems has historically been difficult because the diagnoser often has incomplete and/or inaccurate data available from which to make a diagnosis. Further complicating the difficulty of diagnosis are time and language barriers. Data may be incomplete or inaccurate because users interact with computers via a user interface that may contain several screens and require numerous choices to be made. Conventionally, user interfaces may include an output component for displaying information in the user""s language and an input component for acquiring information. Incomplete data is provided, when, for example, from a sequence of information displayed to the user, the user recalls less than all the information displayed and less than all the choices made concerning the information. Inaccurate data is thus provided when, for example, a user indicates one action was taken when in fact a different action was taken.
When a user seeks help via the telephone, for example, the user may describe their problem, including what user interfaces they traversed and what choices they made. The user may not be able to accurately, completely or timely describe the user interface information needed by the diagnoser, however. For example, the user may only recall 7 of 10 screens traversed and may incorrectly recall which boxes on these screens were checked. These phone conversations can be lengthy and may be hampered by language barriers and time constraints, such as a French-speaking user calling an English-speaking support person at eight p.m. local time, which is four a.m. at the support center
One attempt to solve the problems of inaccurate, incomplete and untimely data is to transmit a bitmap of the user""s screen to the diagnoser. While this produces more accurate information concerning the user interface currently in the user""s view, it does nothing to address the problems of identifying which paths through the user interface the user has taken, which options the user had available at each user interface screen and what choices the user made concerning those options. Furthermore, transmitting a bitmap of a French screen to an English-speaking support person at 4 a.m. does nothing to alleviate the language and time barriers. Thus, someone who speaks the language of the user still has to be available at the time the user has the problem.
Yet another attempt to solve the problems of inaccurate, incomplete and untimely data is to enable the diagnoser to remotely access the computer with the problem. For example, the diagnoser may access the problem computer via the Internet. While this produces more accurate information concerning the user interface currently in the user""s view, it still does not improve the path, option and choice incompleteness problems, nor does it address the language and time problems described above.
Yet another attempt to solve the problems of inaccurate, incomplete and untimely data is to provide help either on the user""s computer or via an on-line help server. This attempted solution requires the user to have their problem information available and to self-diagnose the problem. Although this provides more timely opportunities for diagnosis, it does not address the path, option and choice incompleteness problems described above. Furthermore, it leaves the diagnosis in the hands of the relatively unskilled.
Thus, diagnosing computer problems remains a time consuming, human intensive, time and language constrained problem. Consequently there is a need for a method and system for diagnosing problems via complete, substantially accurate and language independent data.
The present invention relates to automating the diagnosis of computer problems. Automatic diagnosis is facilitated by the availability of problem representation data that is substantially complete, accurate and language independent. The problem representation data may be generated in accordance with a well-formed, rigorous schema enabling automatic processing via pattern matching, for example. More particularly the present invention relates to automated Extensible Style Language (XSL) pattern matching of well-formed Extensible Markup Language (XML) documents that capture user interface information from a computer with a problem. Pattern matching enabled by XSL patterns provide a query language for identifying nodes in an XML document, based on their type, name, and values, as well a the relationship of the node to other nodes in the document. Such pattern matching processing facilitates automatic processing and solves the time, language and language problems associated with conventional systems as described above.
One aspect of the present invention may include a generating component that produces problem representation data associated with user interface information from the computer with the problem. Providing user interface information via problem representation data that is created in accordance with a rigorous schema facilitates automating diagnosis since substantially complete, accurate and language independent data, suitable for pattern matching, is generated. Pattern matching like that available via XML and XSL processing simplifies diagnosis because it provides a general purpose query notation for addressing and filtering the elements and text of XML documents. Using a consistent rigorous schema also makes pattern-matching rules easier to write and maintain and facilitates automated processing of problem representation data from more than one type of device and for more than one type of problem.
User interface dialogs and the paths taken through a series of user interface dialogs may be captured by a document written in a computer language like XML. By representing a user interface in a document conforming to a problem data space schema and by storing the paths taken through the user interface, the options available to the user, the choices made by the user and the values produced or states created by a user in response to the user interface, rather than by storing the text of the user interface or a bitmap of the current user interface dialog, the problems of incomplete and inaccurate data are solved. Furthermore, by storing structure and values rather than text, the language in which the user interacted with the computer with the problem is removed from the diagnostic analysis. The substantially complete, accurate, language independent data enables automated diagnosis. By enabling automated diagnosis, the problems associated with 4 a.m. calls from foreign language users are mitigated since the automatic diagnoser may work in a language independent manner and may be insensitive to time of day.
Another aspect of the present invention includes a diagnostic and solution application. The diagnostic and solution application may automatically process the problem representation data by accessing a diagnosis and solution database and by pattern matching, for example. By applying diagnostic rules to the patterns, if any, that are matched, the diagnostic and solution application may produce diagnostic and solution information that may be returned to the computer with the problem.
To the accomplishment of the foregoing and related ends, certain illustrative aspects of the invention are described herein in connection with the following description and the annexed drawings. These aspects are indicative, however, of but a few of the various ways in which the principles of the invention may be employed and the present invention is intended to include all such aspects and their equivalents. Other advantages and novel features of the invention will become apparent from the following detailed description of the invention when considered in conjunction with the drawings.